package com.exam.api.modules.exampaper.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.exam.api.common.baseModule.domain.BaseDomain;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;

@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("tbl_exam_paper_question")
@Schema(description = "试卷题目明细表（合并：客观题+主观题）")
public class TblExamPaperQuestion extends BaseDomain implements Serializable {

    @Schema(description = "是否删除")
    @TableField(value = "is_delete", select = false)
    private Integer isDelete;

    /**
     * 外键，引用 examPaperId.id
     */
    private Long examPaperId;

    /**
     * 题型：1-客观题，2-主观题
     */
    @TableField("question_type")
    @Schema(description = "题型：1-客观题，2-主观题")
    private Integer questionType;

    /**
     * 正确答案，如 "A,B" 或 "TRUE"
     */
    @TableField("correct_answer")
    @Schema(description = "正确答案，如 \"A,B\" 或 \"TRUE\"")
    private String correctAnswer;

    /**
     * 评审老师ID（主观题专用）
     */
    @Schema(description = "评审老师ID（主观题专用）")
    private Long reviewUserId;
    private Integer no;
    private BigDecimal score;
    private Integer highFrequency;
    private String uuid;
    @TableField("`desc`")
    private String desc;

    @Serial
    private static final long serialVersionUID = 1L;
}